package code.ws_common_utils
{
	
	/**
	 * displayobject random id
	 * @author qiangchen
	 * 
	 */	
	public class IDUtils
	{
		/** 已生成的id值 */
		private static var hadRans:Vector.<int> = new Vector.<int>;
		/** 自身英雄的id */
		public static const SELF_ID:int = -1;
		/** 无效值 */
		public static const INVALID_ID:int = -2;

		
		/**
		 * 生成不重复的id值（ 范围：>= 0； 最大值：int.max_value） 
		 * @return 
		 * 
		 */		
		public static function cId():int
		{
			var random:int = Math.random() * int.MAX_VALUE;
			
			while( hadRans.indexOf( random ) != -1 )
			{
				// 如果存在，继续生成
				random = Math.random() * int.MAX_VALUE;
			}
			hadRans.push( random );
			return random;
		}
		
		
		/**
		 * 移除已储存的int值 
		 * @param val
		 * 
		 */		
		public static function dId( val:int ):void
		{
			var index:int = hadRans.indexOf( val );
			if( index == -1 )
			{
				index = NaN;
				return;
			}
			
			hadRans.splice( index, 1 );
			index = NaN;
		}
		
		/**
		 * 清除所有生成的id值 
		 * 
		 */		
		public static function clearAllid():void
		{
			if( hadRans.length != 0 )
			{
				hadRans.length = 0;
			}
		}
	}
}